package com.cheng.mybatis02.dao;

import com.cheng.mybatis02.entity.Book;
import org.apache.ibatis.annotations.MapKey;

import java.util.List;
import java.util.Map;

public interface BookMapper {

    Integer queryCount();

    // 查询单条数据无实体类可以使用Map集合
    Map<String , Object> queryBookByIdToMap(int id);

    // 查询多条数据无实体类使用List集合存放Map
    List<Map<String, Object>> queryAll();

    // 查询多条数据无实体类使用Map集合存放结果，key为@MapKey指定的字段，value为整条数据
    // @MapKey("id")值为字段名
    @MapKey("id")
    Map<Integer,Map<String,Object>> queryAllToMap();

    Book queryBookByCustomSql(String sql);

    // 根据作者模糊查询图书
    List<Book> queryBookByAuthor(String author);

    // 批量删除图书
    int deleteBookByIds(String ids);

    // 添加图书，获取添加图书后的自增主键
    int insertBook(Book book);
}
